package com.mvity.framework.common.base;

import java.io.Serializable;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.mvity.framework.common.global.Constants;
import com.mvity.framework.system.vo.UserVO;

/**
 * Controller 基类
 * 
 * @author vity
 * @date 2012-3-15
 * @mail vity.1215@gmail.com
 */
public abstract class BaseController implements Serializable {

	private static final long serialVersionUID = 6884059185138733663L;

	protected static final Logger logger = LoggerFactory.getLogger(BaseController.class);

	/**
	 * 获取当前用户对象
	 * 
	 * @param request
	 * @return
	 */
	protected UserVO getCurrentSessionUser(HttpServletRequest request) {
		/**
		 * 目前使用 基于 Session 的 用户存储策略，后期要更改为使用外部缓存来存储登陆用户信息
		 */
		// return (SystemUser)
		// request.getSession().getAttribute(Constants.USER_KEY);
		UserVO user = new UserVO();
		user.setId("1");
		return user;
	}

	/**
	 * 将当前用户对象写入session
	 * 
	 * @param request
	 * @param baseUser
	 */
	protected void setCurrentSessionUser(HttpServletRequest request, UserVO user) {
		/**
		 * 目前使用 基于 Session 的 用户存储策略，后期要更改为使用外部缓存来存储登陆用户信息
		 */
		request.getSession().setAttribute(Constants.USER_KEY, user);
		logger.debug(user.toString() + " login success.");
	}

}
